import Vue from 'vue'
import Vuex from 'vuex'
import { getBigScreenData } from '../api/api';

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    //市场趋势数据
    marketData: [{
      name: '公司销量',
      data: [{
        title: '2017年',
        value: 0
      }, {
        title: '2018年',
        value: 0
      }, {
        title: '2019年',
        value: 0
      }, {
        title: '2021年(1季度)',
        value: 0
      }]
    }, {
      name: '全国销量',
      data: [{
        title: '2017年',
        value: 0
      }, {
        title: '2018年',
        value: 0
      }, {
        title: '2019年',
        value: 0
      }, {
        title: '2021年(1季度)',
        value: 0
      }]
    }],
    //雷管使用数据
    useData: [{
      name: '各省雷管使用量',
      data: [{
        title: '贵州',
        value: 0
      }, {
        title: '广西',
        value: 0
      }, {
        title: '福建',
        value: 0
      }, {
        title: '河南',
        value: 0
      }, {
        title: '广东',
        value: 0
      }, {
        title: '其他',
        value: 0
      }]
    }],
    //客户销售数据
    customerData: [{
      name: '2021客户销售数据',
      data: [{
        title: '西安庆华',
        value: 0
      }, {
        title: '山东圣世达',
        value: 0
      }, {
        title: '埔安科贸',
        value: 0
      }, {
        title: '重庆顺安',
        value: 0
      }, {
        title: '贵州久联',
        value: 0
      }, {
        title: '湖南向红',
        value: 0
      }, {
        title: '广西金建华',
        value: 0
      }, {
        title: '长春吉阳',
        value: 0
      }, {
        title: '南京理工',
        value: 0
      }, {
        title: '河南前进',
        value: 0
      }, {
        title: '湖南湘器',
        value: 0
      }]
    }],
    //生产监控数据
    produceData: [{
      name: '计划生产量',
      data: [ {
        title: '2021/02',
        value: 0
      }, {
        title: '2021/03',
        value: 0
      }, {
        title: '2021/04',
        value: 0
      }, {
        title: '2021/05',
        value: 0
      }, {
        title: '2021/06',
        value: 0
      }]
    }, {
      name: '实际生产量',
      data: [{
        title: '2021/02',
        value: 0
      }, {
        title: '2021/03',
        value: 0
      }, {
        title: '2021/04',
        value: 0
      }, {
        title: '2021/05',
        value: 0
      }, {
        title: '2021/06',
        value: 0
      }]
    }],
    //2021销售情况数据
    saleData: [{
      name: '计划销售量',
      data: [{
        title: '2021/02',
        value: 0
      }, {
        title: '2021/03',
        value: 0
      }, {
        title: '2021/04',
        value: 0
      }, {
        title: '2021/05',
        value: 0
      }, {
        title: '2021/06',
        value: 0
      }]
    }, {
      name: '实际销售量',
      data: [{
        title: '2021/02',
        value: 0
      }, {
        title: '2021/03',
        value: 0
      }, {
        title: '2021/04',
        value: 0
      }, {
        title: '2021/05',
        value: 0
      }, {
        title: '2021/06',
        value: 0
      }]
    }],
    //整体概览
    overviewData: [{
      name: '整体概览',
      data: [{
        title: '爆破企业',
        value: 0
      }, {
        title: '爆破员',
        value: 0
      }, {
        title: '起爆器',
        value: 0
      }, {
        title: '作业点',
        value: 0
      }, {
        title: 'APP装机量',
        value: 0
      }]
    }],
    //地图展示数据
    mapData: [{
      name: '贵州省',
      data: [{
        title: '辽宁省',
        value: 0
      }, {
        title: '吉林省',
        value: 0
      }, {
        title: '江苏省',
        value: 0
      }, {
        title: '浙江省',
        value: 0
      }, {
        title: '山西省',
        value: 0
      }, {
        title: '福建省',
        value: 0
      }, {
        title: '河南省',
        value: 0
      }, {
        title: '湖北省',
        value: 0
      }, {
        title: '湖南省',
        value: 0
      }, {
        title: '宁夏回族自治区',
        value: 0
      }, {
        title: '内蒙古自治区',
        value: 0
      }, {
        title: '山东省',
        value: 0
      }, {
        title: '广东省',
        value: 0
      }, {
        title: '四川省',
        value: 0
      }, {
        title: '贵州省',
        value: 0
      }, {
        title: '云南省',
        value: 0
      }, {
        title: '北京市',
        value: 0
      }, {
        title: '河北省',
        value: 0
      }, {
        title: '安徽省',
        value: 0
      }, {
        title: '江西省',
        value: 0
      }, {
        title: '广西壮族自治区',
        value: 0
      }, {
        title: '陕西省',
        value: 0
      }, {
        title: '甘肃省',
        value: 0
      }]
    }],
    //总体数据
    totalData: [{
      name: '大屏总览数据',
      produceTotal: 0,//生产总量
      useTotal: 0,//使用总量
      modalSale: 0,//模块销售额
      detonatorSale: 0,//起爆器销售额
      equipmentSale: 0,//生产仪器设备销售额
      materialSale: 0//辅材销售额
    }],
    //ajax获取的大屏数据
    ajaxData:null
  },
  mutations: {
    changeMarketData(state, marketData) {
      state.marketData = marketData;
    },
    changeUseData(state, useData) {
      state.useData = useData;
    },
    changeCustomerData(state, customerData) {
      state.customerData = customerData;
    },
    changeProduceData(state, produceData) {
      state.produceData = produceData;
    },
    changeSaleData(state, saleData) {
      state.saleData = saleData;
    },
    changeOverviewData(state, overviewData) {
      state.overviewData = overviewData;
    },
    changeMapData(state, mapData) {
      state.mapData = mapData;
    },
    changeTotalData(state, totalData) {
      state.totalData = totalData;
    },
    changeAjaxData(state,ajaxData){
      state.ajaxData = ajaxData;
    }
  },
  actions: {
    //异步设置大屏数据
    actionBigScreenData(context){
			let isdemo = window._DEMODATA['isDemodata'];
			if(isdemo){//如果使用demo假数据就不请求后台数据。
				const demodata = window._DEMODATA['bigScreenDataDemo'];
				context.commit('changeAjaxData', demodata);
				return
			}
      getBigScreenData().then(res => {
        console.log(res);
        if(res.code===200){
          let stateData = res.result.state;
					
          context.commit('changeAjaxData', stateData);
        }
      }).catch(err => {
        console.log(err.type);
      });
    },

    //异步设置市场趋势数据
    actionMarketData(context,params) {
      let datas = params?params:context.state.marketData;
      context.commit('changeMarketData', datas);
    },

    //异步设置雷管使用量排行数据
    actionUseData(context,params) {
      let datas = params?params:context.state.useData;
      context.commit('changeUseData', datas);
    },

    //异步设置客户销售数据
    actionCustomerData(context,params) {
      let arr = params?params:context.state.customerData;
      context.commit('changeCustomerData', arr);
    },

    //异步设置生产监控数据
    actionProduceData(context,params) {
      let arr = params?params:context.state.produceData;
      context.commit('changeProduceData', arr);
    },

    //异步设置销售数据
    actionSaleData(context,params) {
      let arr = params?params:context.state.saleData;
      context.commit('changeSaleData', arr);
    },

    //异步设置整体概览数据
    actionOverviewData(context,params) {
      let datas = context.state.overviewData;
      if(params){
        datas = [{
          name: '整体概览',
          data: params
        }];
      }
      context.commit('changeOverviewData', datas);
    },

    //异步设置地图展示数据
    actionMapData(context,params) {
      let arr = params?[params]:context.state.mapData;
      context.commit('changeMapData', arr);
    },

    //异步设置总览数据
    actionTotalData(context,params) {
      let arr = params?[params]:context.state.totalData;
      context.commit('changeTotalData', arr);
    }
  },
  getters:{
    overviewData: state=>{
      let datas = [];
      if(state.ajaxData && state.ajaxData.overviewData){
        datas = state.ajaxData.overviewData;
      }
      return {
        name: '整体概览',
        data: datas
      }
    }
  }
})
